//Dexie基于IndexedDB进行封装 https://blog.csdn.net/qq_36587420/article/details/105058830
import Dexie from 'dexie'
import drafts from './drafts.ts'
// 创建请求打开indexedDB：这个方法接受两个参数，第一个参数是字符串，表示数据库的名字，第二个参数是整数，表示数据库的版本
function openDB(name:string, version:number) {
	//创建一个数据库 若数据库已存在则为打开
	//打开数据库时，会判断当前version值是否大于已经存在的version值，若大于则会upgrade即升到最高版本
	let db = new Dexie(name);
	//创建一个表drafts
	// 索引为【自增id、userId、receiveId】,[userId+receiveId]为复合索引 可以使用db.drafts.where('[userId+receiveId]').equals(['foo', 'bar'])查询
	db.version(version).stores({
	    drafts: '++id,title,templateName,templateCode,formContent,createdTime,createdAt,updatedTime,updatedAt',// 草稿箱 
	});
	window.$db=db
	drafts.init()
	return db.open()
}



export default {
	openDB, //打开数据库并创建集合
}
